/*****************************************************************************
* | File      	:   EPD_2IN9_T94.h
GDEY029T94
SSD1680A
******************************************************************************/
#ifndef __EPD_2IN9_T94_H_
#define __EPD_2IN9_T94_H_

#include "../DEV_Config.h"

// Display resolution
#define EPD_2IN9_T94_WIDTH       128
#define EPD_2IN9_T94_HEIGHT      296


#define EPD_2IN9_T94_FULL 0
#define EPD_2IN9_T94_PART 1
#define EPD_2IN9_T94_FAST 2

// #define EPD_2IN9_T94_Bwr4   2
// #define EPD_2IN9_T94_Bwr8   3
// #define EPD_2IN9_T94_Bwr16  4


// typedef enum
// {
//   FULL = 0,
//   Grey4_Bwr,
//   Grey8_Bwr,
//   Grey16_Bwr,
// } LUT_TYPE;



void EPD_2IN9_T94_Init(uint8_t lut_type=EPD_2IN9_T94_FULL);
void EPD_2IN9_T94_Clear(void);
void EPD_2IN9_T94_Display( unsigned char *BW_Image, unsigned char *R_Image);
void EPD_2IN9_T94_Sleep(void);
void EPD_2IN9_T94_TurnOnDisplay(uint8_t part=EPD_2IN9_T94_FULL);
void EPD_2IN9_T94_Data_Write(UBYTE color,UBYTE *Image_Data,UDOUBLE index,UDOUBLE length);
void EPD_2IN9_T94_setDepth(uint8_t i);
// void EPD_2IN9_T94_Fast_TurnOnDisplay(void);
int8_t EPD_T94_ReadTemp();
void EPD_2IN9_T94_Part_Init();
#endif
